home *** CD-ROM | disk | FTP | other *** search
/ Carousel / CAROUSEL.cdr / mactosh / hc / xcmd_pos.sit / PostEvent stack / card_5409.txt < prev    next >
Text File  |  1987-10-15  |  1KB  |  41 lines

  1. -- card: 5409 from stack: in
  2. -- bmap block id: 7499
  3. -- flags: 0000
  4. -- background id: 2637
  5. -- name: Applications
  6. ----- HyperTalk script -----
  7. on openCard
  8.   push recent card
  9. end openCard
  10.  
  11.  
  12. -- part 1 (field)
  13. -- low flags: 01
  14. -- high flags: 0000
  15. -- rect: left=45 top=66 right=310 bottom=466
  16. -- title width / last selected line: 0
  17. -- icon id / first selected line: 0 / 0
  18. -- text alignment: 0
  19. -- font id: 3
  20. -- text size: 10
  21. -- style flags: 0
  22. -- line height: 12
  23. -- part name: 
  24.  
  25.  
  26. -- part contents for card part 1
  27. ----- text -----
  28. PostEvent doesn't immediately invoke a sequence or macro. Instead, it posts a "key down" event for later consumption by Hypercard. So a HyperTalk fragment like the following won't work:
  29.  
  30.                         PostEvent "InitRulers"
  31.                         open "MacWrite"
  32.  
  33. because nobody will see the event. The trick is to have the sequence or macro already running when you issue the open command. I use the following trick:
  34.  
  35. Create an invisible button called "Macro". Every sequence starts by clicking on its location. It has the open command in its mouseUp handler (if necessary the application name can be saved in a global variable). Then the following fragment can be used:
  36.  
  37.                        set the hilite of button "Macro" to true -- show it
  38.                        PostEvent "InitRulers"
  39.  
  40. and the sequence will take over. In QuicKeys, the sequence and its components will have to be Universal, not program-specific.
  41.